Generally, cloud computing services are computing services provided on-demand to one or more customers over a communication network (e.g., the Internet), thus relieving the customers of the responsibility of purchasing or leasing the underlying computing systems supporting the desired computing services. One example of such a service is a platform-as-a-service (PaaS), which provides a customer with the computing infrastructure (e.g., servers, virtual machines, operating systems, data storage systems, communication networks, and so on), services (e.g., runtime environment, databases, messaging systems, file systems, and the like), and associated tools (e.g., development toolkit, test suite, version control system, configuration and deployment tools, and so forth) needed to develop, test, deploy, and maintain applications that are ultimately used by the developer or other customers.
In typical platform-as-a-service environments, the customer, whether a developer or end-user, does not manage or control the underlying cloud infrastructure (e.g., the servers, storage systems, and the like provided on the platform), as such control is often under the purview of one or more human operators associated with the platform. Consequently, the provisioning and configuration of the infrastructure tends to be rather static in such systems, with human intervention often required to scale the infrastructure and associated services to meet changes in demand occurring over time.
The headings provided herein are merely for convenience and do not necessarily affect the scope or meaning of the terms used.